package PFC_2_3_3.koyicabuto;

import PFC_2_3_3.koyicabuto.BaseDatos.GruposDataBase;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class GruposListViewActivity extends ListActivity{
	
	private ListView listaGrupos;
	
	public void onCreate(Bundle savedInstance) {
		super.onCreate(savedInstance);
		
		listaGrupos = this.getListView();
		listaGrupos.setTextFilterEnabled(true);
		
		GruposDataBase gruposDataBaseHelper = new GruposDataBase(this, "GruposDataBase", null, 1);
		SQLiteDatabase gruposDataBase = gruposDataBaseHelper.getReadableDatabase();		
		
		String[] campos = new String[]{"_id", "GR_NOMBRE", "GR_DESCRIPCION"};
		
		if(gruposDataBase != null){
			//Abrimos un cursor para iterar la tabla GRUPOS
			Cursor cursor = gruposDataBase.query("GRUPOS", campos, null, null, null, null, null);

			startManagingCursor(cursor);
			
	        String[] columns = new String[] { "GR_NOMBRE", "GR_DESCRIPCION" };
	        int[] to = new int[] { R.id.Nombre, R.id.Descripcion};
	        
	        // CREATE THE ADAPTER USING THE CURSOR POINTING TO THE DESIRED DATA AS WELL AS THE LAYOUT INFORMATION
	        SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.listagrupositem, cursor, columns, to);
	        
	        // SET THIS ADAPTER AS YOUR LISTACTIVITY'S ADAPTER
	        listaGrupos.setAdapter(mAdapter);
	        
	        listaGrupos.setOnItemClickListener(new OnItemClickListener() {
	            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
	            	onClickItem(id);
	            }
	          });
		}
	}
	
	/**
	 * Metodo en el que definimos lo que pasara al picar en un elemento de la lista
	 */
	private void onClickItem(Long idGrupoSeleccionado){
		Intent i = new Intent(this, GruposItemActivity.class);
		if(idGrupoSeleccionado != null){
			i.putExtra("idGrupoSeleccionado", idGrupoSeleccionado);
			startActivity(i);
		}else{
			crearDialogoAlerta("ERROR", "No se ha encontrado el grupo seleccionado.");
		}
	}
	
	private void crearDialogoAlerta(String titulo, String mensaje)
	{
	    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
	 
	    alertDialog.setTitle(titulo);
	    alertDialog.setMessage(mensaje);
	    alertDialog.setButton("OK", new OnClickListener() {
	        public void onClick(DialogInterface dialog, int which) {
	        }
	    });
	    alertDialog.show();	 
	}
}
